﻿
TrackInfoWidget = function(tags)
{
    this.m_tags = tags;
};

TrackInfoWidget.prototype.DIV_NAME = 'tiw_div';
TrackInfoWidget.prototype.show = function( trackID )
{
    if ($('#'+this.DIV_NAME).size() == 0)
    {
        $('body').append( $('<div></div>')
                    .attr({'id':this.DIV_NAME}));
    }
    
    $.getJSON( 'cgi-bin/track_get.cgi', {track_id: trackID, no_points: 1}, function(data) {
        tagTable = $('<table id = "tiw_info_table" class = "tiw_info_table"></table>');
        
        tagTable.append($('<tr></tr>')
                            .append('<td>Описание</td>')
                            .append($('<td></td>').text(data.tracks[0].short_description))
                       );
                       
        tagTable.append($('<tr></tr>')
                            .append('<td>Подробнее</td>')
                            .append($('<td></td>')
                                .append($('<a></a>')
                                    .attr({href:data.tracks[0].url_description, target: "parent"})
                                    .text(data.tracks[0].url_description))));
                       
        tagTable.append($('<tr></tr>')
                            .append('<td>Исходный файл</td>')
                            .append($('<td></td>')
                                .append($('<a></a>')
                                    .attr({href:data.tracks[0].src_url, target: "parent"})
                                    .text(data.tracks[0].src_url))));
                       
        var curBasePath = top.location.href.match(/(.*\/)+/)[0];
        var localCopy = curBasePath+"tracks/"+data.tracks[0].filename;

        tagTable.append($('<tr></tr>')
                            .append('<td>Копия на сервере</td>')
                            .append($('<td></td>')
                                .append($('<a></a>')
                                    .attr({href:localCopy, target: "parent"})
                                    .text(localCopy))));
                       
        tagTable.append($('<tr></tr>')
                            .append('<td>Длина (км)</td>')
                            .append($('<td></td>').text((data.tracks[0].track_length/1000).toFixed(2))));
                       
        var divInfo = $('#'+TrackInfoWidget.prototype.DIV_NAME);
        divInfo.empty();
        divInfo.append(tagTable);
        
        var imageURL = data.tracks[0].alt_chart_url;
        if (imageURL)
        {
            divInfo.append($('<img></img>').attr({src:imageURL}));
        
            divInfo.append($('<br/>')).append('Адрес картинки с профилем высот: '+imageURL);
        }
        
        var trackTags = data.tracks[0].tags.slice(0);
        var tagNames = [];
        for (var k = 0; k < trackTags.length; k++)
            for (var n in gTags)
                if ( n == trackTags[k] )
                    tagNames.push(gTags[n]);
                    
        $('#tiw_info_table').append($('<tr></tr>')
                            .append('<td>Теги</td>')
                            .append($('<td></td>').text(tagNames.join(', ')))
                   );
        
        //TODO: pass all tags from main function, don't call server!
        // $.getJSON( 'cgi-bin/tags.cgi?action=get_all_tags', function(data) {
            // var tagNames = [];
            // for (var k = 0; k < g_trackTags.length; k++)
                // for (var n = 0; n < data.length; n++)
                    // if ( data[n].id == g_trackTags[k] )
                        // tagNames.push(data[n].tag);
            // $('#tiw_info_table').append($('<tr></tr>')
                                // .append('<td>Теги</td>')
                                // .append($('<td></td>').text(tagNames.join(', ')))
                       // );
        // });
        
        divInfo.dialog({width:850, 
                        modal: true, 
                        title: 'Информация о треке'});
    });
}